package intelligentCustomer.memory;

import java.util.HashMap;
import java.util.Map;

/**
 * 工作记忆类
 * 存储当前会话中的关键信息
 */
public class WorkingMemory {
    /** 当前话题 */
    private String currentTopic;
    
    /** 当前任务 */
    private String currentTask;
    
    /** 临时属性 */
    private final Map<String, Object> attributes = new HashMap<>();
    
    /**
     * 设置当前话题
     * 
     * @param topic 话题名称
     */
    public void setCurrentTopic(String topic) {
        this.currentTopic = topic;
    }
    
    /**
     * 获取当前话题
     * 
     * @return 当前话题
     */
    public String getCurrentTopic() {
        return currentTopic;
    }
    
    /**
     * 设置当前任务
     * 
     * @param task 任务名称
     */
    public void setCurrentTask(String task) {
        this.currentTask = task;
    }
    
    /**
     * 获取当前任务
     * 
     * @return 当前任务
     */
    public String getCurrentTask() {
        return currentTask;
    }
    
    /**
     * 设置属性
     * 
     * @param key 属性键
     * @param value 属性值
     */
    public void setAttribute(String key, Object value) {
        attributes.put(key, value);
    }
    
    /**
     * 获取属性
     * 
     * @param key 属性键
     * @return 属性值
     */
    public Object getAttribute(String key) {
        return attributes.get(key);
    }
    
    /**
     * 清除工作记忆
     */
    public void clear() {
        currentTopic = null;
        currentTask = null;
        attributes.clear();
    }
} 